package entity

import (
	"time"

	"shqsoft.cn/pasnj/base"

	"github.com/jinzhu/gorm"
	log "github.com/sirupsen/logrus"
)

//经济资本
type JxkhFtpDtip struct {
	ID    int        `gorm:"AUTO_INCREMENT;primary_key;column:ID"`
	ZH    string     `gorm:"column:account_number"`             //账号
	YZH   string     `gorm:"column:t_account_number"`           //源账号
	DATE  *time.Time `gorm:"column:as_of_date;type:date"`       //数据日期
	SJLY  string     `gorm:"column:data_source"`                //数据来源
	HXJGH string     `gorm:"column:org_unit_id_o"`              //核心机构号
	ITEM  string     `gorm:"column:gl_account_id"`              //科目
	INRT  float64    `gorm:"column:cur_net_rate"`               //当前利率
	ACBL  float64    `gorm:"column:cur_book_bal"`               //当前余额
	FTP   float64    `gorm:"column:transfer_rate_ajust"`        //FTP
	VLDT  *time.Time `gorm:"column:origination_date;type:date"` //起息日
	MADT  *time.Time `gorm:"column:maturity_date;type:date"`    //到期日
	HTQX  float64    `gorm:"column:org_term"`                   //合同期限
	CYNO  string     `gorm:"column:iso_currency_cd";`           //币种
	YACBL float64    `gorm:"column:agg_bal_month"`              //月累计余额
	NACBL float64    `gorm:"column:agg_bal_year"`               //年累计余额
	YFTP  float64    `gorm:"column:ftp_int_month_ajust";`       //月FTP利息累计
	NFTP  float64    `gorm:"column:ftp_int_year_ajust"`         //年FTP利息累计
	KHH   string     `gorm:"column:cif_key"`                    //客户号
}

//TableName 经济资本
func (JxkhFtpDtip) TableName() string {
	return "T_JXKH_FTP_DTIP"
}

//导入后执行分户处理
func JxkhFtpAfterImport(tx *gorm.DB, params map[string]string) (err error) {
	tx.Exec("EXEC UP_JXKH_FTP2017")
	log.Debug("成功！")
	return nil
}

func JxkhFtpDtipEF() base.EntityFunc {
	return func() interface{} {
		entity := JxkhFtpDtip{}
		return &entity
	}
}
func JxkhFtpDtipESF() base.EntitiesFunc {
	return func() interface{} {
		var entities []JxkhFtpDtip
		return &entities
	}
}

func init() {
	base.DaoPoolObj.Put("JxkhFtpDtip", base.NewDefaultDao(JxkhFtpDtipEF(), JxkhFtpDtipESF(), nil))
	base.SetAfterCallBack("JxkhFtpDtip", JxkhFtpAfterImport)
}
